//
//  UiManager.h
//  iRMAP
//
//  Created by Ryan Enguero on 4/2/14.
//  Copyright (c) 2014 engueroryan. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <MessageUI/MessageUI.h>
//#import "CPDScatterPlotViewController.h"

@class MainPageViewController;
@class DevicesTableViewController;
@class DevicesViewController;
@class AlarmsTableViewController;
@class SupportViewContoller;

@class DeviceInfoViewController;
@class CPDScatterPlotViewController;

@class GraphViewController;
@class MeasurementViewController;
@class SetPointViewController;
@class LogsViewController;
@class GraphDynamicViewController;
@class LoginViewController;

@class IIViewDeckController;


@interface UiManager : NSObject <MFMailComposeViewControllerDelegate, MFMessageComposeViewControllerDelegate>

@property (strong, nonatomic) LoginViewController *loginView;
@property (strong, nonatomic) MainPageViewController *mainPageViewController;
@property (strong, nonatomic) DevicesTableViewController *devicesTableView;
@property (strong, nonatomic) DevicesViewController *devicesView;
@property (strong, nonatomic) AlarmsTableViewController *alarmsTableView;
@property (strong, nonatomic) SupportViewContoller *supportViewCon;


@property (strong, nonatomic) CPDScatterPlotViewController *testGraph;

@property (strong, nonatomic) IIViewDeckController* deckController;
@property (strong, nonatomic) IIViewDeckController* deckControllerGraph;

@property (strong, nonatomic) DeviceInfoViewController *deviceInfoView;
@property (strong, nonatomic) GraphViewController *graphViewSide;
@property (strong, nonatomic) GraphDynamicViewController *graphView;
@property (strong, nonatomic) MeasurementViewController *measurementView;
@property (strong, nonatomic) SetPointViewController *setpointView;
@property (strong, nonatomic) LogsViewController *logsView;

@property (strong, nonatomic) MFMailComposeViewController *mailComposer;


- (UITabBarController*)mainTabsInitialize;
- (UIViewController*)deviceInfo;

- (UIViewController*)graphViewController;
- (UIViewController*)TestGraph;
- (UIViewController*)measurementViewController;
- (UIViewController*)setpointViewController;
- (UIViewController*)logsViewController;

- (void)slideLeft;

- (IIViewDeckController*)generateControllerStack;

- (IIViewDeckController*)graphViewDeck;

+ (UILabel*)navigationHeaderWithTitle:(NSString*)headerStr andViewController:(UIViewController*)viewCon;

- (void)logOut;

- (void)openLeft;

+ (UiManager *) sharedItems;

@end
